From 9adb9741559439b713dc1618a5a5a70cd3548b53 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 14:05:59 -0500 Subject: [PATCH] Add a vfunc for _gdk_windowing_window_get_next_serial --- gdk/gdkdevice.c | 2 +- gdk/gdkdisplay.c | 8 +++++++- gdk/gdkdisplayprivate.h | 4 +++- gdk/gdkwindow.c | 12 ++++++------ gdk/x11/gdkdevicemanager-core.c | 3 ++- gdk/x11/gdkdevicemanager-xi2.c | 5 +++-- gdk/x11/gdkdisplay-x11.c | 5 +++-- 7 files changed, 25 insertions(+), 14 deletions(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 1da6e4324d..e8e27d23aa 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -1136,7 +1136,7 @@ gdk_device_grab (GdkDevice *device, gulong serial; display = gdk_window_get_display (window); - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); _gdk_display_add_device_grab (display, device, diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 88a1d7b4c7..b14ad84a6e 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -677,7 +677,7 @@ _gdk_display_enable_motion_hints (GdkDisplay *display, if (*device_serial != 0) { - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); /* We might not actually generate the next request, so make sure this triggers always, this may cause it to trigger slightly too early, but this is just a hint @@ -2411,3 +2411,9 @@ gdk_display_warp_device (GdkDisplay *display, GDK_DEVICE_GET_CLASS (device)->warp (device, screen, x, y); } + +gulong +_gdk_display_get_next_serial (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS (display)->get_next_serial (display); +} diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 9b1f12b46b..4772041e05 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -173,6 +173,8 @@ struct _GdkDisplayClass void (*before_process_all_updates) (GdkDisplay *display); void (*after_process_all_updates) (GdkDisplay *display); + gulong (*get_next_serial) (GdkDisplay *display); + /* Signals */ void (*closed) (GdkDisplay *display, gboolean is_error); @@ -218,7 +220,7 @@ GdkPointerWindowInfo * _gdk_display_get_pointer_info (GdkDisplay *display void _gdk_display_pointer_info_foreach (GdkDisplay *display, GdkDisplayPointerInfoForeach func, gpointer user_data); - +gulong _gdk_display_get_next_serial (GdkDisplay *display); G_END_DECLS diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 2a54023c14..215bc5a80c 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -5686,8 +5686,9 @@ gdk_window_hide (GdkWindow *window) { GdkDevice *device = d->data; - if (_gdk_display_end_device_grab (display, device, - _gdk_windowing_window_get_next_serial (display), + if (_gdk_display_end_device_grab (display, + device, + _gdk_display_get_next_serial (display), window, TRUE)) gdk_device_ungrab (device, GDK_CURRENT_TIME); @@ -8742,7 +8743,7 @@ gdk_pointer_grab (GdkWindow * window, display = gdk_window_get_display (window); - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); device_manager = gdk_display_get_device_manager (display); devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); @@ -8845,8 +8846,7 @@ gdk_keyboard_grab (GdkWindow *window, } display = gdk_window_get_display (window); - - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); device_manager = gdk_display_get_device_manager (display); devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); @@ -9056,7 +9056,7 @@ do_synthesize_crossing_event (gpointer data) return FALSE; display = gdk_window_get_display (changed_toplevel); - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); g_hash_table_iter_init (&iter, display->pointers_info); while (g_hash_table_iter_next (&iter, &key, &value)) diff --git a/gdk/x11/gdkdevicemanager-core.c b/gdk/x11/gdkdevicemanager-core.c index 64f107aff1..7163aa2a4e 100644 --- a/gdk/x11/gdkdevicemanager-core.c +++ b/gdk/x11/gdkdevicemanager-core.c @@ -23,6 +23,7 @@ #include "gdktypes.h" #include "gdkdevicemanagerprivate.h" +#include "gdkdisplayprivate.h" #include "gdkeventtranslator.h" #include "gdkdevice-core.h" #include "gdkkeysyms.h" @@ -391,7 +392,7 @@ get_event_window (GdkEventTranslator *translator, GdkDeviceGrabInfo *info; gulong serial; - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); info = _gdk_display_has_device_grab (display, GDK_DEVICE_MANAGER_CORE (device_manager)->core_keyboard, serial); diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index ee3461c3fe..f692ff5549 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -21,7 +21,8 @@ #include "gdkdevicemanager-xi2.h" -#include +#include "gdkdeviceprivate.h" +#include "gdkdisplayprivate.h" #include "gdkeventtranslator.h" #include "gdkdevice-xi2.h" #include "gdkkeysyms.h" @@ -905,7 +906,7 @@ get_event_window (GdkEventTranslator *translator, device = g_hash_table_lookup (GDK_DEVICE_MANAGER_XI2 (translator)->id_table, GUINT_TO_POINTER (((XIDeviceEvent *) ev)->deviceid)); - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); info = _gdk_display_has_device_grab (display, device, serial); if (info && diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 84d0b5a8ad..194b25fe73 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1486,8 +1486,8 @@ process_internal_connection (GIOChannel *gioc, return TRUE; } -gulong -_gdk_windowing_window_get_next_serial (GdkDisplay *display) +static gulong +gdk_x11_display_get_next_serial (GdkDisplay *display) { return NextRequest (GDK_DISPLAY_XDISPLAY (display)); } @@ -2753,5 +2753,6 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->before_process_all_updates = _gdk_x11_display_before_process_all_updates; display_class->after_process_all_updates = _gdk_x11_display_after_process_all_updates; + display_class->get_next_serial = gdk_x11_display_get_next_serial; } -- 2.30.2